package com.niit.onlinemusic.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.niit.onlinemusic.common.R;
import com.niit.onlinemusic.model.domain.RankList;
import com.niit.onlinemusic.model.request.RankListRequest;

/**
 * 歌单评分服务接口
 *
 * @author zuwei522
 * @since 2025/9/29 22:53
 */
public interface RankListService extends IService<RankList> {

    /**
     * 获取用户对某个歌单的评分
     *
     * @param consumerId 用户id
     * @param songListId 歌单id
     * @return R
     * @author zuwei522
     * @since 2025/9/29 23:04
     */
    R getUserRank(Long consumerId, Long songListId);

    /**
     * 提交评分
     *
     * @param rankListAddRequest 评分请求体
     * @return R
     * @author zuwei522
     * @since 2025/9/29 23:15
     */
    R addRank(RankListRequest rankListAddRequest);

    /**
     * 获取指定歌单的评分（平均分）
     *
     * @param songListId 歌单id
     * @return R
     * @author zuwei522
     * @since 2025/9/29 23:17
     */
    R rankOfSongListId(Long songListId);

}
